www.gusucode.com > Non-photorealistic Camera工具箱源码matlab程序 > Non-photorealistic Camera/removeSpecRegions.m
function [guO,grO,gdO,glO] = removeSpecRegions(gu,gr,gd,gl) %removeSpecRegions function: remove (or reduce) specular regions from four %images captured using different flashes. The four arguments are the %grayscale versions of the original images. gImages={gu,gr,gd,gl}; %calculate medians for each loop Gmedian(1,:)=median([gr(:)';gd(:)';gl(:)']); Gmedian(2,:)=median([gu(:)';gd(:)';gl(:)']); Gmedian(3,:)=median([gu(:)';gr(:)';gl(:)']); Gmedian(4,:)=median([gu(:)';gr(:)';gd(:)']); for i=1:4 currentImage=gImages{i}; currentImage=currentImage(:); indices=find(currentImage>200); indices_=indices(Gmedian(i,indices)<200); currentImage(indices_)=Gmedian(i,indices_); gImages{i}=reshape(currentImage,[size(gu,1),size(gu,2)]); end guO=gImages{1}; grO=gImages{2}; gdO=gImages{3}; glO=gImages{4};